﻿#! /usr/bin/python
# -*- coding: utf-8 -*-

import os

def unicode2palm(in_dir = 'unicode/', out_dir = 'palm/'):
	"""
	Функция конвертирует файлы форматов HTML, FB2, OPF в кодировку Palm
	"""
	cx = {'ĉ':'cx', 'Ĉ':'Cx', 'ĝ':'gx', 'Ĝ':'Gx', 'ĥ':'hx', 'Ĥ':'Hx',
          'ĵ':'jx', 'Ĵ':'Jx', 'ŝ':'sx', 'Ŝ':'Sx', 'ŭ':'ux', 'Ŭ':'Ux',
          'utf-8':'iso-8859-1', 'UTF-8':'iso-8859-1',
          '—':'--', '„':'"', '“':'&laquo;', '”':'&raquo;',
          '́':'', 'ī':'i',
          '¹':' <sup><small>1</small></sup>',
          '²':' <sup><small>2</small></sup>',
          '³':' <sup><small>3</small></sup>'}
    #os.chdir(in_dir)
	print "In:  \t", in_dir
	print "Out: \t", out_dir
	if not os.access(out_dir, os.F_OK): os.mkdir(out_dir)
	for fn in os.listdir (in_dir):
		if fn[0] == '.' or os.path.isdir(in_dir + fn): continue
		if fn in ('u2palm.py', 'mbp_toc.html'): continue
		if not (fn[-4:] in ("html", ".htm", ".fb2", ".opf")) : continue
		print in_dir + fn
		s = open(in_dir + fn, 'r').read()
		for c in cx: s = s.replace(c, cx[c])
		open(out_dir + fn, 'w').write(s.decode('utf-8').encode('cp1251','ignore'))
	return None

if __name__ == '__main__': unicode2palm()
    
